package entitybeans;

import java.io.FileNotFoundException;
import java.io.IOException;

import javax.persistence.Entity;

import xml.XMLParser;

import dto.ArticuloDTO;
import dto.ArticuloHogarDTO;
import dto.xml.XMLArticuloHogarDTO;
import dto.xml.XMLDetallesHogarDTO;
import dto.xml.XMLOfadArticuloHogarDTO;

@Entity
public class ArticuloHogar extends Articulo {
	private String composicion;
	private String medidas;
	private String categoria;
	
	public ArticuloHogar() {
		super();
		// TODO Auto-generated constructor stub
	}
	public ArticuloHogar(Integer ref, String linea, String descripcion,
			String color, String seccion, Float precio, String nombre,
			String composicion, String medidas, String categoria) {
		super(ref, linea, descripcion, color, seccion, precio, nombre);
		this.composicion= composicion;
		this.medidas= medidas;
		this.categoria= categoria;
	}
	
	public String getComposicion() {
		return composicion;
	}
	public void setComposicion(String composicion) {
		this.composicion = composicion;
	}
	public String getMedidas() {
		return medidas;
	}
	public void setMedidas(String medidas) {
		this.medidas = medidas;
	}
	public String getCategoria() {
		return categoria;
	}
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
	
	@Override
	public ArticuloDTO getDTO() {
		ArticuloHogarDTO a= new ArticuloHogarDTO();
		a.setColor(this.getColor());
		a.setSeccion(this.getSeccion());
		a.setNombre(this.getNombre());
		a.setDescripcion(this.getDescripcion());
		a.setLinea(this.getLinea());
		a.setPrecio(this.getPrecio());
		a.setRef(this.getRef());
		a.setXmlpath(this.getXmlpath());
		a.setCategoria(this.getCategoria());
		a.setComposicion(this.getComposicion());
		a.setMedidas(this.getMedidas());
		return a;
	}
	@Override
	public void getGeneratedXmlpath() {
		XMLParser parser = new XMLParser();
		XMLDetallesHogarDTO detalle = new XMLDetallesHogarDTO(this.getRef(), this.getSeccion(), this.getPrecio(),
				this.getColor(), this.getLinea(), this.getDescripcion(), this.getNombre(),
				this.composicion, this.medidas, this.categoria);
		
		//XMLDetallesHogarDTO detalle = new XMLDetallesHogarDTO(1,"hola", 110, "color1", "linea1", "descripcion1", "nombre1", "composicion1", "medidas1", "categoria1");

		XMLArticuloHogarDTO xmlArticuloHogar = new XMLArticuloHogarDTO(detalle);

		String path = null;
		try {
			path = parser.generateXmlAndSave(xmlArticuloHogar);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println(path);
		this.setXmlpath(path);
	}
	public String getGeneratedXmlString() {
		XMLParser parser = new XMLParser();
		XMLDetallesHogarDTO detalle = new XMLDetallesHogarDTO(this.getRef(), this.getSeccion(), this.getPrecio(),
				this.getColor(), this.getLinea(), this.getDescripcion(), this.getNombre(),
				this.composicion, this.medidas, this.categoria);
		
		//XMLDetallesHogarDTO detalle = new XMLDetallesHogarDTO(1,"hola", 110, "color1", "linea1", "descripcion1", "nombre1", "composicion1", "medidas1", "categoria1");

		XMLArticuloHogarDTO xmlArticuloHogar = new XMLArticuloHogarDTO(detalle);

		String xml = null;
		try {
			xml = parser.getXmlString(xmlArticuloHogar);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println(xml);
		return xml;
		
	}	
	public Object getXmlDTO() {
		XMLOfadArticuloHogarDTO dto =new XMLOfadArticuloHogarDTO(this.getRef(), this.getSeccion(), this.getPrecio(),
				this.getColor(), this.getLinea(), this.getDescripcion(), this.getNombre(),
				this.getComposicion(), this.getMedidas(), this.getCategoria(), 5);
		return dto;
	}

	
}
